using InventoryIssue.ErrorCode;
using MediatR;
using InventoryIssue.Dtos;

namespace InventoryIssue.API.Read.Application.Command.Allocate
{
    /// <summary>
    /// 生成调拨完整报告命令
    /// </summary>

    public class GenerateAllocateReportCommand : IRequest<APIResult<AllocateReportDto>>
    {
        /// <summary>
        /// 调拨单号
        /// </summary>
        public string AllocateId { get; set; }

        /// <summary>
        /// 是否包含详细信息
        /// </summary>
        public bool IncludeDetails { get; set; } = true;

        /// <summary>
        /// 是否包含操作历史
        /// </summary>
        public bool IncludeOperationHistory { get; set; } = true;

        /// <summary>
        /// 是否包含统计信息
        /// </summary>
        public bool IncludeStatistics { get; set; } = true;

        /// <summary>
        /// 报告格式（JSON/PDF/Excel）
        /// </summary>
        public string ReportFormat { get; set; } = "JSON";
    }
} 